package com.yidu.hbats.service.impl.AtsBase;

import com.yidu.hbats.dao.AtsBaseItemMapper;
import com.yidu.hbats.model.AtsBaseItem;
import com.yidu.hbats.service.atsBase.AtsBaseItemService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * @program: spring-boot-demo
 * @description: ${description}
 * @author: clg
 * @create: 2019-11-06 13:19
 */

@Service
public class AtsBaseItemServiceImpl implements AtsBaseItemService {
    @Resource
    AtsBaseItemMapper atsBaseItemMapper;

    @Override
    public List<AtsBaseItem> selectSportIdItem(Integer sportId) {
        return atsBaseItemMapper.selectSportIdItem(sportId);
    }

    @Override
    public List<AtsBaseItem> selectAll() {
        List<AtsBaseItem> list = atsBaseItemMapper.selectAll();
        Map<Integer , String> map = new HashMap<>() ;
        for (Iterator<AtsBaseItem> iterator = list.iterator(); iterator.hasNext(); ) {
            AtsBaseItem next =  iterator.next();
            String strs = map.get(next.getParentId());
            if(next.getParentId()==0){
                next.setParentName("该指标为一级指标");
            }else if(strs!=null){
                next.setParentName(strs);
            }else{
                for (Iterator<AtsBaseItem> atsBaseItemIterator = list.iterator(); atsBaseItemIterator.hasNext(); ) {
                    AtsBaseItem atsBaseItem =  atsBaseItemIterator.next();
                    if(atsBaseItem.getItemId()==next.getParentId()){
                        next.setParentName(atsBaseItem.getItemExp());
                        map.put(next.getParentId(),next.getParentName());
                    }

                }
            }

            if(next.getCreatTime()!=null){
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
                String str = simpleDateFormat.format(next.getCreatTime());
                Date date = new Date();
                try {
                    date = simpleDateFormat.parse(str);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                next.setCreatTime(date);
            }
        }

        return list ;


    }

    @Override
    public List<AtsBaseItem> selectAll2() {
        return atsBaseItemMapper.selectAll();
    }


    @Override
    public int updateIsva(AtsBaseItem atsBaseItem) {

       return atsBaseItemMapper.updateIsva(atsBaseItem);
    }
}